Cloud computing is increasingly being used to provide remote software services, data access, and storage services over a network. One cloud computing service, software as a service (SaaS), provides to users access to online third party applications, which are executed on a cloud infrastructure. SaaS applications, e.g. web-based email service, may be accessible from client devices and interfaces such as a web browser. The user does not manage or control the underlying cloud infrastructure, which includes the network, servers, operating systems, storage, or capabilities of individual applications that would impact the general user community.
Another cloud computing service, referred to as Infrastructure as a Service (IaaS), allows users to deploy and execute their own software, including operating systems and applications, on the service provider's infrastructure. The user generally does not manage or control the underlying infrastructure but has control over operating systems, storage, deployed applications, and possibly limited control of select networking components (e.g., firewalls, encryption, etc).
In cloud computing systems, security of proprietary information is a large concern. Encryption may be used to secure data in transit between a cloud server and a user device. However, securing data in cloud infrastructures can be a complex task. Attacks or tampering intended to obtain private data stored within the cloud infrastructure may originate not only from outside the system (e.g., a side-channel attack by third party not using the architecture), but also from other users of the cloud infrastructure or employees of the service provider.
One or more embodiments may address one or more of the above issues.